package LexicalSyntacticAnalysis.syntaxtree;
import symbol.Symbol;
import TypeChecking.TypeCheckVisitor;
import visitor.TypeVisitor;
import visitor.Visitor;
import IntermediateCodeGeneration.translate.IRTranslateVisitor;

public class Identifier {
  public String s;

  public Identifier(String as) { 
    s=as;
  }

  public void accept(Visitor v) {
    v.visit(this);
  }

  public Type accept(TypeVisitor v) {
    return v.visit(this);
  }

  @Override
public String toString(){
    return s;
  }

  public Symbol accept(TypeCheckVisitor v) {
	return v.visit(this);
  }
	public IntermediateCodeGeneration.translate.Exp accept(IRTranslateVisitor v) {
		return v.visit(this);
	}
}

